1. Field of the Invention
The present invention relates to a method for detecting malfunction in microcomputer systems, and more particularly to a method for detecting malfunctions which may cause an abnormal operating state such as a system crash, system hang-up or the like during multiple task processing (multitasking) in a microcomputer system.
2. Description of the Prior Art
In the prior art, a watchdog timer has been widely employed in microcomputer systems for detecting malfunction or abnormal program execution likely to cause a system crash, system hang-up or the like. However, depending upon the circumstances, it is sometimes difficult by use of a watchdog timer to distinguish between normal and abnormal program execution since the conventional method using the watchdog timer detects abnormal program execution by controlling the generation of a reset pulse solely on the basis of whether or not a specific step in the program was executed. Accordingly, the conventional method requires additional complex hardware or the like for distinguishing more exactly between normal and abnormal program execution.
To overcome this drawback, Japanese Patent Application Public Disclosure No. Sho 58-154052 (154052/83) proposes a detecting method comprising steps of carrying out a predetermined arithmetic calculation each time a processing step appropriately selected from among a plurality of processing steps forming a desired program is executed, generating a pulse signal each time the arithmetic calculation produces a prescribed result, and discriminating whether or not an abnormal state has occurred in the execution of the program on the basis of the state of the pulse signal.
Recent microcomputer systems frequently employ multitasking, in which a job is divided into a plurality of tasks and programs for the respective tasks are activated at different times and run for different periods of time. However, in a multitasking system, since the programs for the respective tasks are activated by an interruption processing program, abnormal executions occurring in one or more of the programs for the tasks cannot be detected unless the abnormal execution or malfunction occurs in the program under the surveillance of a watchdog timer.